package com.quectel.constant.core.grid;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 网格巡更任务相关常量
 *
 * @author: bob
 * @email: bob.yu@quectel.com
 * @date: 2023-02-13 11:13:00
 */
public class GridPlanTaskConstant {

    public static final String IN_HAND = "1", HISTORY = "2";

    /**
     * 事件类型
     */
    @AllArgsConstructor
    public enum ReportEventTypeEnum {
        /**
         * 自行处理
         */
        OWN((byte) 1),
        /**
         * 上级处理
         */
        SUPERIORS((byte) 2);
        @Getter
        private final Byte status;
    }


    /**
     * 是否上报事件
     */
    @AllArgsConstructor
    public enum ReportEventStatusEnum {
        /**
         * 不上报
         */
        NO_REPORT((byte) 0),
        /**
         * 上报
         */
        REPORT((byte) 1);
        @Getter
        private final Byte status;
    }


    /*
     *  任务结果状态
     */
    @AllArgsConstructor
    public enum TasksStatusEnum {

        /**
         * 异常
         */
        ABNORMAL((byte) 0),
        /**
         * 执行中
         */
        NORMAL((byte) 1);

        @Getter
        private final Byte status;
    }


    /*
     * 巡检执行状态
     */
    @AllArgsConstructor
    public enum TasksExecStatusEnum {
        /**
         * 未执行
         */
        STATUS_UNEXECUTED((byte) 0),
        /**
         * 执行中
         */
        STATUS_EXECUTING((byte) 1),
        /**
         * 已执行
         */
        STATUS_EXECUTED((byte) 2),

        /**
         * 漏检
         */
        STATUS_MISSED_DETECTION((byte) 3);

        @Getter
        private final Byte status;
    }

    /*
     巡检任务是否推送
     */

    @AllArgsConstructor
    public enum IsPushedEnum {
        /**
         * 未推送
         */
        IS_NOT_PUSHED((byte) 0),
        /**
         * 已推送
         */
        IS_PUSHED((byte) 1);


        @Getter
        private final Byte isPushed;
    }
}
